package shop.local.valueobjects;

import java.util.HashMap;

import shop.local.domain.exceptions.MitarbeiterExistiertNichtException;
import shop.local.domain.exceptions.MitarbeiterExistiertBereitsException;
import java.util.HashMap;

public class MitarbeiterListe extends HashMap<Integer, Mitarbeiter> {

	private static final long serialVersionUID = 6198730391084556376L;


	public MitarbeiterListe() {}

	public Mitarbeiter letzterMitarbeiter() {
		return this.get(this.size());
	}



	public void einfuegen(Mitarbeiter m) throws MitarbeiterExistiertBereitsException {
		if (this.size() == 0) {
			this.put(1, m);
		}
		else {
			for (int i = 1; i <= this.size(); i++) {
				if (this.get(i).equals(m))
					throw new MitarbeiterExistiertBereitsException(m, " - in 'einfuegen()'");
			}
			this.put(this.size() + 1, m);
		}
	}

	public void loeschen(int mID) throws MitarbeiterExistiertNichtException {
		boolean geloescht = false;
		for (int i = 1; i <= this.size(); i++) {
			if (this.get(i).getMitarbeiterNr() == mID) {
				this.remove(i);
				geloescht = true;
			}
		}
		if (!(geloescht)) {
			throw new MitarbeiterExistiertNichtException();
		}
	}


	// toString Methode Ueberschrieben
	public String toString() {
		String result = "";
		String zeilenEnde = System.getProperty("line.separator");
		for (int i = 1; i <= this.size(); i++) {
			result = result + this.get(i) + zeilenEnde;
		}
		return result;
	}

	public static boolean contains(int mNr) {
		// TODO Auto-generated method stub
		return false;
	}
}
